The types and numbers of small devices and devices with limited input capability has increased rapidly in recent years. Devices such as cell phones, other mobile devices, set-top boxes and other general computing devices that may have limited input functions or options are common. Such devices often require a user to enter text, or strings of characters, for purposes of communication and control. The size and limited number of input keys in such devices often leads to slow text entry, which can decrease the effectiveness of the device and make it less desirable to use.
While a full keyboard may be an effective means of entering text, it is often not practical to have a keyboard for size or other reasons. Many alternate approaches to entering text have been developed, such as triple-tap and T-9. These are difficult to use and slow, particularly in low light conditions.
On-screen keyboards are also often used, typically with arrow keys or buttons being used to scroll though a displayed alphabet to move a cursor between characters in the alphabet, and a selection, or “enter”, key or button being used to choose or select individual characters when they are under the cursor, or otherwise highlighted. For example, each time the selection key is pressed, the character currently highlighted may be copied to a separate location on the screen that contains the text string being entered. Each such character may be added to the end of the text string when it is selected, and when the user is satisfied that the string is correct, then the user may select a displayed string entry symbol in order to submit the string for processing by the device.
Typically the alphabet is displayed as a linear array that may scroll as an arrow button is pressed. If the entire alphabet cannot fit on the screen then characters may scroll onto the display as the cursor is moved. In other systems, the characters may be displayed to look like a physical keyboard, for example with a QWERTY layout. Left and right buttons may then be used to move within a row, possibly moving to the next or previous row when the cursor moves past the right or left ends of a row, respectively.
Mode “keys”, such as a shift button, may also be used to modify the displayed keyboard or linear array to change the case or to display special characters.
In general, such methods of composing input text strings are time consuming, and may be very annoying for users when they are required to type in lengthy strings.